#include <stdio.h>
#include <Windows.h>
#include <combaseapi.h>
#include <thread>
#include "singleton.h"
namespace PERF {
    class OOPContextMenuHostAccelerator {
    public:
        OOPContextMenuHostAccelerator();
        ~OOPContextMenuHostAccelerator();
        void Init();
        void Quit();
        bool Run();
    private:
        void Release_();
		bool isRunning_{ false };
        HANDLE hReleaseEvent_{ INVALID_HANDLE_VALUE };
        std::thread thread_;
        MULTI_QI pmqi_{ 0 };
    };
    #define OOP_CONTEXT_HOST SingletonNew<PERF::OOPContextMenuHostAccelerator>::GetInstance()
};
